1. Technical Field
The present invention relates in general to the field of document data stream manipulation and in particular to the management and processing of data stream constructs in a manner which permits such constructs to be dynamically self-modifiable for use within a structured data stream. Still more particularly, the present invention relates to methods which permit a high degree of flexibility in passing data and processing information from one data stream construct to another.
2. Background Art
The management of a data stream in a digital communications network, such as a Local Area Network (LAN), or larger teleprocessing networks, presents many problems, particularly when it is desired to dynamically alter selectively modifiable parameter information specified within a macro definition for use within a structured data stream. By macro definition, what is meant is a data stream resource that is intended for inclusion in the data stream as if the data stream constructs representing the macro definition had been encountered during data stream processing and interpretation. A macro can be used to specify data and formatting or processing information that is to be associated with any construct within the data stream. A macro definition may be contained within the data stream or stored in an external library.
Certain known systems exist which permit the definition of macros which may be invoked during data stream interpretation to specify data and formatting information to be used in the processing of selected data stream constructs as long as the data stream and parameter constructs representing the macro content definition are static and stored in a macro or subroutine library. However, these systems limit modifiable data in the macro definition to specific parameters which are required to be identified coincident with the definition of the macro, as to type and permitted values. These systems also tightly couple the macro definition with the process invoking the macro thereby restricting the utilization of the macro to a single purpose.
As utilized herein, a data stream is a collection of structured fields and is defined by the syntax and semantics of the structured fields. By syntax, what is meant is the manner in which the structured fields and parameters are grouped independently of their meaning or the manner of their interpretation and use. By semantics, is meant the meaning of the structured fields and the parameters, independently of their interpretation and use. By structured field, what is meant is a command in a data stream composed of one or more parameter groups, each of which specifies a parameter and an associated value selected from an architected defined set of values. Included as one parameter group type is a triplet which is a self-identifying parameter containing a function identifier and one or more parameter groups. The data stream is interpreted to generate a visual or conceptual entity such as a document which may be presented in a format facilitating additional processing, such as document editing format.
The International Standards Organization (ISO) has defined standards for document processing and interchange. Specifically, the Standard Generalized Markup Language (SGML), Publication 8879, and the Office Document Architecture/Office Document Interchange Facility (ODA/ODIF), Publication 8613, are two such standards. Generally, the data streams produced under the ISO standards or by other known application program products in general tend to be complex due to a desire to accommodate as many anticipated processing requirements as possible. Designing an application program to handle all possible user desires generally results in an extremely cluttered data stream. What is needed is a data stream architecture which is uncluttered and which permits data communication among diverse processes so that the data may be manipulated by processes of varying characteristics and intent. More specifically, a mixed object document content architecture is preferred which allows documents to be transmitted among diverse processes achieving consistent interpretations of the content of the data stream. Within such a mixed object document content architecture, what is needed is a standard which unburdens the data stream of the requirement to accommodate many different processing requirements without unduly cluttering the data stream with individual constructs for each requirement.
Recently, a data stream management system has been proposed which utilizes a shell structure which includes processing information which may be utilized to manage and process tagged constructs or elements which are independent of the data content but may appear concurrently with the data in a data stream representation of a document created by an editor or other similar application. The shell structure may be off-line or separate from the data stream, transmitted independently of the data stream, or be included within the data stream. Also, it has been proposed to provide a method whereby such shells may be easily and temporarily modified or redefined by combining various shell fragments, without the necessity of eliminating the original shell structure itself. While these methods represent an advance in the art, it should be apparent that a need exists for a method whereby macros specified for use within the data stream process may be defined with modifiable parameters such that these macros may be utilized more efficiently for multiple purposes.